package com.example.companybusiness.operationt.room;

import android.content.Context;

import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;

import com.example.companybusiness.operationt.room.SearchBoxDao;
import com.example.companybusiness.operationt.room.SearchBox;

//数据库关联之前的 表数据库信息
//参数1：表
//参数2：版本号
//参数3：直接写  exportSchema = false
@Database(entities = {SearchBox.class},version = 1,exportSchema = false)
public abstract class SearchBoxDatabase extends RoomDatabase
{
    //用户只需要操作Dao，我们必须暴露Dao，Dao被用户拿到后，就能对数据库增删改查了
    public abstract SearchBoxDao getSearchBoxDao();

    //单例模式 返回Database
    private static SearchBoxDatabase INSTANCE;
    static synchronized SearchBoxDatabase getInstance(Context context){

        if (INSTANCE ==null){
            INSTANCE = Room.databaseBuilder
                    (context.getApplicationContext(), SearchBoxDatabase.class,"searchbox_database")
                    //使用数据库，默认异步线程
                    //慎用，强制开启，主线程也可以操作数据库（测试可以用，真实环境不要用）
//                    .allowMainThreadQueries()
                    .build();
        }
        return INSTANCE;
    }
}
